﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using BCCommon.Enums.Chats;

namespace BCEntity.Chats
{
    [Table("chat_thread")]
    public class ThreadEntity
    {
        /// <summary>
        /// 会话编号。
        /// </summary>
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public long ThreadId { get; set; }

        /// <summary>
        /// 标题。
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 副标题。
        /// </summary>
        public string Subtitle { get; set; }

        /// <summary>
        /// 公告。
        /// </summary>
        public string Announcement { get; set; }

        /// <summary>
        /// 类型，参见 <see cref="ThreadType"/>。
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 业务类型。
        /// </summary>
        public string BusinessType { get; set; }

        /// <summary>
        /// 原业务编号。
        /// </summary>
        public string ReferenceNumber { get; set; }

        /// <summary>
        /// 最后聊天内容。
        /// </summary>
        public string LastChatContent { get; set; }

        /// <summary>
        /// 最后聊天时间。
        /// </summary>
        public DateTime? LastChatTime { get; set; }

        /// <summary>
        /// 最后聊天用户编号。
        /// </summary>
        public string LastChatUserId { get; set; }

        /// <summary>
        /// 状态，参见 <see cref="ThreadStatus"/>。
        /// </summary>
        public string Status { get; set; }

        /// <summary>
        /// 创建时间。
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建用户编号。
        /// </summary>
        public string CreateUserId { get; set; }

        /// <summary>
        /// 修改时间。
        /// </summary>
        public DateTime EditTime { get; set; }

        /// <summary>
        /// 修改用户编号。
        /// </summary>
        public string EditUserId { get; set; }
    }
}
